/**
 * 启动
 * @param ip 服务器ip
 * @param projectName 检测项目是否存活的项目名
 * @param java java path
 * @param realProjectName  真正的项目名
 * @param localConfigPath 本地配置文件路径
 */
void  call(String ip , String remotePath , String projectName ,String java ,String realProjectName,String localConfigPath,String root) {

    withCredentials([sshUserPrivateKey(
            credentialsId: 'ssh_key',  // 凭证 ID
            keyFileVariable: 'SSH_KEY',
            usernameVariable: 'USER'
    )]) {
        print("启动")
        ssh.sshTomcatVoid(ip,java, "  sh   ${remotePath}bin/startup.sh    " )
        for (int i = 1; i <= 60; i++) {
           def PID=  ssh.getPid(ip,projectName)
            if( util.strIsBlack(PID)){
                println("${projectName}服务尚未启动")
            }else{
                println("${projectName}服务已启动   pid:${PID}")
                return
            }
//                 睡眠1秒
            sleep(1)
        }
        def choice  = input(
                message: '是否启动备份文件',
                parameters: [
                        choice(name: 'ACTION',
                                choices: ['启动备份文件', '终止流程'],
                                description: '请选择要执行的操作')
                ],
                submitter: 'admin,developers',  // 允许提交的用户/角色
                ok: '确认'  // 按钮文本
        )
        if ("启动备份文件".equals(choice)) {
//          覆盖备份文件
            unWar.call(ip,java,remotePath,realProjectName)
//           覆盖资源文件
            scp(ip,localConfigPath,"${remotePath}webapps/${root}/WEB-INF/","")
            ssh.sshTomcatVoid(ip,java, "  sh   ${remotePath}bin/startup.sh" )
        }else{
            error "终止流程"
        }

    }
    //   启动后 睡眠60秒等待程序执行
    sleep(60)

}
